﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SMS.Core
{
    public class EnumClass
    {
    }

    #region PDU码相关枚举

    #region 消息参考值
    /// <summary>
    /// 消息参考值
    /// </summary>
    public enum EMessagerefrence
    {
        /// <summary>
        /// 默认值为00
        /// </summary>
        Default = 0

    }
    #endregion

    #region PDU Type（TPDU的第一个八位位组）
    /// <summary>
    /// 应答路径
    /// </summary>
    public enum EReplyPath
    {
        /// <summary>
        /// 未设置
        /// </summary>
        NO = 0,
        /// <summary>
        /// 设置
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 用户数据头标识
    /// </summary>
    public enum EUserDataHeaderIndicator
    {
        /// <summary>
        /// 用户数据（UD）部分不包含头信息
        /// </summary>
        NO = 0,
        /// <summary>
        /// 用户数据（UD）开始部分包含用户头信息
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 状态报告请求
    /// </summary>
    public enum EStatusReportRequest
    {
        /// <summary>
        /// 不需要报告
        /// </summary>
        NO = 0,
        /// <summary>
        /// 需要报告
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 状态报告指示,此值仅被短消息服务中心（SMSC）设置
    /// </summary>
    public enum EStatusReportIndication
    {
        /// <summary>
        /// 状态报告将不会返回给短消息实体（SME）
        /// </summary>
        NO = 0,
        /// <summary>
        /// 状态报告将返回给短消息实体（SME）
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 有效期格式
    /// </summary>
    public enum EValidityPeriodFormat
    {
        /// <summary>
        /// VP 段没有提供（长度为 0 ）
        /// </summary>
        NO = 0,
        /// <summary>
        /// 保留
        /// </summary>
        Retain = 1,
        /// <summary>
        /// VP 段以整型形式提供（相对的）
        /// </summary>
        integ = 10,
        /// <summary>
        /// VP 段以8位组的一半(semi-octet)形式提供（绝对的）
        /// </summary>
        semi_octet = 11
    }
    /// <summary>
    /// 拒绝复本
    /// </summary>
    public enum ERejectDuplicate
    {
        /// <summary>
        /// 通知 短消息服务中心（SMSC）接受一个SMS-SUBMIT，即使该消息是先前已提交过的，并还存在于SMSC中未发送出去。MS重复的条件是：消息参考(MR)、接收方地址(DA)及发送方地址(OA)相同
        /// </summary>
        NO = 0,
        /// <summary>
        /// 通知 SMSC 拒绝一个重复的 SMS
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 有更多的信息需要发送,此值仅被 SMSC 设置
    /// </summary>
    public enum EMoreMessagestoSend
    {
        /// <summary>
        /// 在 SMSC 中有更多的信息等待 MS
        /// </summary>
        NO = 0,
        /// <summary>
        /// 在 SMSC 中没有更多的信息等待 MS
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 信息类型指示
    /// </summary>
    public enum EMessageTypeIndicator
    {
        /// <summary>
        /// 短信接收
        /// </summary>
        SMS_DELIVER = 0,
        /// <summary>
        /// 短信接收报告
        /// </summary>
        SMS_DELIVER_REPORT = 0,
        /// <summary>
        /// 短信发送
        /// </summary>
        SMS_SUBMIT = 1,
        /// <summary>
        /// 短信发送报告
        /// </summary>
        SMS_SUBMIT_REPORT = 1,
        /// <summary>
        /// 短信状态报告
        /// </summary>
        SMS_STATUS_REPORT = 10,
        /// <summary>
        /// 短信命令
        /// </summary>
        SMS_COMMAND = 10,
        /// <summary>
        /// 保留
        /// </summary>
        Retain = 11
    }

    #endregion

    #region 地址类型
    /// <summary>
    /// 数据类型
    /// </summary>
    public enum ETypeofNumber
    {
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 1000,
        /// <summary>
        /// 国际（以 + 开始的地址）
        /// </summary>
        International = 1001,
        /// <summary>
        /// 国内
        /// </summary>
        Domestic = 1010,
        /// <summary>
        /// 留作保留
        /// </summary>
        Retain = 1111
    }
    /// <summary>
    /// 号码鉴别
    /// </summary>
    public enum ENumberingPlanIdentification
    {
        /// <summary>
        /// 未知
        /// </summary>
        UnKnown = 0,
        /// <summary>
        /// ISDN/电话号码(E.164/E.163)
        /// </summary>
        Phone = 1,
        /// <summary>
        /// 留作扩展
        /// </summary>
        Retain = 1111
    }
    #endregion

    #region 协议标识(Protocol-Identifier)
    /// <summary>
    /// PID 协议标识 (Protocol-Identifier)
    /// </summary>
    public enum EProtocolIdentifier
    {
        /// <summary>
        /// 默认值为0
        /// </summary>
        Default = 0
    }
    #endregion

    #region 数据编码方式(DataCoding-Scheme)
    /// <summary>
    /// 编码方式的Bit No.7与Bit No.6
    /// </summary>
    public enum EDefault
    {
        /// <summary>
        /// 默认值为0
        /// </summary>
        Default = 0
    }
    /// <summary>
    /// 文本压缩方式（编码方式的Bit No.5）
    /// </summary>
    public enum ECompression
    {
        /// <summary>
        /// 文本未压缩
        /// </summary>
        NO = 0,
        /// <summary>
        /// 文本用GSM标准压缩算法压缩
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 是否包含信息类型信息(编码方式的Bit No.4)
    /// </summary>
    public enum EMessageType
    {
        /// <summary>
        /// 表示 编码方式的Bit No.1、Bit No.0 为保留位，不含信息类型信息
        /// </summary>
        NO = 0,
        /// <summary>
        /// 表示 编码方式的Bit No.1、Bit No.0 含有信息类型信息
        /// </summary>
        YES = 1
    }
    /// <summary>
    /// 编码方式
    /// </summary>
    public enum ECodeScheme
    {
        /// <summary>
        /// 默认的字母表，每个字符占用 7 比特位，此时最大可以传送 160 字符
        /// </summary>
        Sbit = 0,
        /// <summary>
        /// 8bit，此时最大只能传送 140 个字符
        /// </summary>
        ASCII = 1,
        /// <summary>
        /// USC2（16bit）， 传送双字节字符集
        /// </summary>
        Unicode = 10,
        /// <summary>
        /// 预留
        /// </summary>
        Retain = 11

    }
    /// <summary>
    /// 短消息类型
    /// </summary>
    public enum ESMSType
    {
        /// <summary>
        /// 只显示，不储存
        /// </summary>
        CLASS0 = 0,
        /// <summary>
        /// 储存在ME内存中
        /// </summary>
        CLASS1 = 1,
        /// <summary>
        /// 储存在SIM卡中
        /// </summary>
        CLASS2 = 10,
        /// <summary>
        /// 直接传输到TE
        /// </summary>
        CLASS3 = 11
    }
    #endregion

    #region PDU码中包含服务中心地址
    /// <summary>
    /// PDU码中是否包含服务中心地址
    /// </summary>
    public enum EISSCA
    {
        /// <summary>
        /// 包含
        /// </summary>
        YES = 1,
        /// <summary>
        /// 不包含
        /// </summary>
        NO = 0
    }
    #endregion

    #endregion

    #region 短信接收
    /// <summary>
    /// 短信接收命令方式
    /// </summary>
    public enum ESMSRecvCmd
    {
        /// <summary>
        /// 通过命令AT+CMGL来接收短信
        /// </summary>
        CMGL = 0,
        /// <summary>
        /// 通过命令AT+CMGR来接收短信
        /// </summary>
        CMGR = 1
    }

    #endregion
}
